package com.shell.governor.authorization.service;

import com.shell.bee.entity.mvc.RetMsg;
import com.shell.bee.persistence.model.PageLimit;
import com.shell.bee.persistence.service.PersistentService;
import com.shell.governor.authorization.po.PubResource;
import com.shell.governor.authorization.po.PubRole;
import com.shell.governor.authorization.vo.AuthTmplRoleVo;
import com.shell.governor.modules.po.PubApplication;
import com.shell.governor.modules.po.PubDictionary;
import java.util.List;

public abstract interface PubRoleService
  extends PersistentService<PubRole>
{
  public abstract RetMsg saveOrUpdateRole(PubRole paramPubRole);
  
  public abstract boolean checkCodeUnique(PubRole paramPubRole);
  
  public abstract RetMsg deleteRole(PubRole paramPubRole);
  
  public abstract List<PubRole> selectRolesByPage(PageLimit paramPageLimit, PubRole paramPubRole);
  
  public abstract List<PubRole> selectRoleForUser(String paramString1, String paramString2);
  
  public abstract List<PubRole> selectRoleByTerminalCode(String paramString);
  
  public abstract List<PubRole> selectUserRole(String paramString1, String paramString2);
  
  public abstract List<PubRole> selectRolesByCodes(String... paramVarArgs);
  
  public abstract int updateRoleStateWithCascade(String paramString1, String paramString2);
  
  public abstract List<AuthTmplRoleVo> selectRole4AuthUser(String paramString1, String paramString2, String paramString3, String paramString4, String paramString5);
  
  public abstract List<PubRole> selectResourceRole(PubRole paramPubRole);
  
  public abstract RetMsg authRoleToRole(String paramString1, String paramString2);
  
  public abstract List<PubResource> selectResourceTreeData4Role(String paramString1, String paramString2, String paramString3);
  
  public abstract List<PubApplication> selectAppByAdminRole(String paramString);
  
  public abstract List<PubRole> getRoleByDict(PubDictionary paramPubDictionary);
  
  public abstract PubRole getRoleInfoByRoleId(String paramString);
}